草庐IT

Python float - str - 浮点怪异

全部标签

Python:_ ("str") 是做什么的?

我在Django源代码中看到了这个:description=_("Comma-separatedintegers")description=_("Date(withouttime)")它有什么作用?我在Python3.1.3中尝试它但失败了:>>>foo=_("bar")Traceback(mostrecentcalllast):File"",line1,infoo=_("bar")NameError:name'_'isnotdefined2.4.4也不走运:>>>foo=_("bar")Traceback(mostrecentcalllast):File"",line1,in-top

python - 为什么 ndarray 允许浮点索引

我可以知道为什么ndarray允许浮点索引访问,那是什么意思?>>>wk1=numpy.arange(10)>>>wk1[1:2.8]array([1])>>>wk1=[1,2,3,4,5,6,7,8,9,10]>>>wk1[1:2.8]Traceback(mostrecentcalllast):File"",line1,inTypeError:sliceindicesmustbeintegersorNoneorhavean__index__method>>> 最佳答案 从1.12版开始,不再允许在ndarray中使用浮点索引并引发

Python:__str__,但对于一个类,而不是一个实例?

我理解以下Python代码:>>>classA(object):...def__str__(self):...return"AninstanceoftheclassA"...>>>>>>a=A()>>>printaAninstanceoftheclassA现在,我想更改的输出>>>printA我需要重载哪个函数才能做到这一点?即使从未实例化该类,该解决方案也必须有效。Python2.x和3中的情况是否不同? 最佳答案 在元类上定义__str__():classA(object):class__metaclass__(type):de

python - 'str' 对象在 Python3 中没有属性 'decode'

我对python3.3.4中的“解码”方法有一些问题。这是我的代码:forlinesinopen('file','r'):decodedLine=lines.decode('ISO-8859-1')line=decodedLine.split('\t')但是我无法解码这个问题的行:AttributeError:'str'objecthasnoattribute'decode'你有什么想法吗?谢谢 最佳答案 一个编码字符串,一个解码字节。您应该从文件中读取字节并对其进行解码:forlinesinopen('file','rb'):de

python - Python 的 str.rstrip() 函数中的错误,还是我自己的愚蠢?

要么这是一个错误,要么我即将学习一些关于Python行为方式的新知识。:)我有一个充满键/值对的字典。每个键都有一个唯一的前缀,ias_XX_XX_。我正在尝试获取字典中每个唯一前缀的列表。首先,我得到一个以'_x1'结尾的所有键的列表。接下来,我使用rstrip('_x1')从它们中去除所有的'_x1'。除了最后一个ias_1_1_x1之外,这对它们都适用。它不再被剥离为ias_1_1,而是变为ias_。运行代码自己看看:d={'ias_16_10_x2':575,'ias_16_10_x1':0,'ias_16_10_y1':0,'ias_16_10_y2':359,'ias_16

python - Python 中 str 的静态方法与实例方法

所以,我了解到字符串有一个center方法。>>>'a'.center(3)'a'然后我注意到我可以使用类型的“str”对象做同样的事情,因为>>>type(str)使用这个“类型”对象,我可以像访问静态函数一样访问字符串方法。>>>str.center('a',5)'a'唉!这违反了python的禅宗。应该有一种——最好只有一种——显而易见的方法来做到这一点。这两种方法连类型都不一样。>>>type(str.center)>>>type('Ni!'.center)现在,这是应该如何设计python类的示例吗?为什么类型不同?什么是method_descriptor,我为什么要费心?感

python - 添加数字时 python/numpy 中的浮点精度分解

由于numpy使用的数字非常少,我遇到了一些问题。我花了几个星期的时间来追溯我在数值积分方面一直存在的问题,因为当我在函数中添加float时,float64精度会丢失。使用乘积而不是总和执行数学上相同的计算会得到正确的值。这是一个代码示例和结果图:frommatplotlib.pyplotimport*fromnumpyimportvectorize,arangeimportmathdeffunc_product(x):returnmath.exp(-x)/(1+math.exp(x))deffunc_sum(x):returnmath.exp(-x)-1/(1+math.exp(x)

python - sqlalchemy:alembic 批量插入失败: 'str' 对象没有属性 '_autoincrement_column'

我的模型看起来像classCategory(UserMixin,db.Model):__tablename__='categories'uuid=Column('uuid',GUID(),default=uuid.uuid4,primary_key=True,unique=True)name=Column('name',String,nullable=False)parent=Column('parent',String,nullable=False)created_on=Column('created_on',sa.types.DateTime(timezone=True),defa

python - 将浮点值舍入到区间限制/网格

我有一个(随机)float数组。我想将每个值四舍五入到任意网格的限制。请参阅以下示例:importnumpyasnpnp.random.seed(1)#Setupsample=np.random.normal(loc=20,scale=6,size=10)intervals=[-np.inf,10,12,15,18,21,25,30,np.inf]#Roundeachintervalupforiinrange(len(intervals)-1):sample[np.logical_and(sample>intervals[i],sample这导致:[30.18.18.15.30.10.

python - 如何在条件 f 字符串中应用浮点精度(类型说明符)?

我有以下f字符串,我想在变量可用的情况下打印出来:f"Percentgrowth:{self.percent_growthifTrueelse'Nodatayet'}"结果是:Percentgrowth:0.19824077757643577所以通常我会像这样使用浮点精度的类型说明符:f'{self.percent_growth:.2f}'这会导致:0.198但是在这种情况下,这与if语句混淆了。它要么失败,因为:f"Percentprofit:{self.percent_profit:.2fifTrueelse'Noneyet'}"if语句变得不可访问。或者以第二种方式:f"Perc